Lambda を 同期呼び出しした際のステータスコードを変更する方法を教えてください
困っていた内容
Lambda の invoke API で Lambda を呼び出すアプリケーションを開発しています。
アプリケーション側では Lambda から返却されるステータスコードによって処理を分岐させたいのですが、Lambda でエラーが発生してもステータスコードが 200 で返却されます。
Lambda を 同期呼び出しした際のステータスコードを変更する方法を教えてください。
どう対応すればいいの?
payload に StatusCode を含める実装をご検討ください。
Lambda を同期呼び出しした際のステータスコードは、エラーが発生した場合でも 200 が返却される仕様になっています。
Lambda が関数を実行できた場合は、関数がエラーを返したとしても、ステータスコードは 200 です。
Lambda のステータスコードを変更したい場合には、payload に独自に StatusCode を含める実装をご検討ください。
// statusCode 403 を返却する例 const response = { statusCode: 403, body: JSON.stringify('Hello from Lambda!'), }; return response;